<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>File comparison</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/File_comparison"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-File_comparison rootpage-File_comparison skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">File comparison</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">This article is about data object, text, and file comparisons in computing. For other uses, see <a href="Comparison_(disambiguation)" class="mw-disambig" title="Comparison (disambiguation)">Comparison</a>.</div>
<p>Editing documents, program code, or any data always risks introducing errors. Displaying the differences between two or more sets of data, <b>file comparison</b> tools can make computing simpler, and more efficient by focusing on new data and ignoring what did not change. Generically known as a <b>diff</b><sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> after the <a href="Unix" title="Unix">Unix</a> <a href="Diff_utility" class="mw-redirect" title="Diff utility"><code>diff</code> utility</a>, there are a range of ways to compare data sources and display the results.
</p><p>Some widely used file comparison programs are <a href="Diff" title="Diff">diff</a>, <a href="Cmp_(Unix)" title="Cmp (Unix)">cmp</a>, <a href="Apple_Developer_Tools#FileMerge" title="Apple Developer Tools">FileMerge</a>, <a href="WinMerge" title="WinMerge">WinMerge</a>, <a href="Beyond_Compare" title="Beyond Compare">Beyond Compare</a>, and <a href="File_Compare" title="File Compare">File Compare</a>.
</p><p>Because understanding changes is important to writers of code or documents, many <a href="Text_editor" title="Text editor">text editors</a> and <a href="Word_processor" title="Word processor">word processors</a> include the functionality necessary to see the changes between different versions of a file or document.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Method_types">Method types</h2></div>
<p>The most efficient method of finding differences depends on the source data, and the nature of the changes. One approach is to find the <a href="Longest_common_subsequence_problem" class="mw-redirect" title="Longest common subsequence problem">longest common subsequence</a> between two files, then regard the non-common data as an insertion, or a deletion.
</p><p>In 1978, Paul Heckel published an algorithm that identifies most moved blocks of text.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> This is used in the <a href="IBM_History_Flow_tool" title="IBM History Flow tool">IBM History Flow tool</a>.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> Other file comparison programs find block moves.
</p><p>Some specialized file comparison tools find the <a href="Longest_increasing_subsequence" title="Longest increasing subsequence">longest increasing subsequence</a> between two files.<sup id="cite_ref-PatentUS7031972B2_4-0" class="reference"><a href="#cite_note-PatentUS7031972B2-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> The <a href="Rsync" title="Rsync">rsync</a> protocol uses a <a href="Rolling_hash" title="Rolling hash">rolling hash</a> function to compare two files on two distant computers with low communication overhead.
</p><p>File comparison in word processors is typically at the word level, while comparison in most programming tools is at the line level. Byte or character-level comparison is useful in some specialized applications.
</p>
<div class="mw-heading mw-heading2"><h2 id="Display">Display</h2></div>
<p>The optimal way to display the results of a file comparison depends on many factors, including the type of source data. The fixed lines of programming code provide a clear unit of comparison. This does not work with documents, where adding a single word may cause the following lines to wrap differently, but still not change the content.
</p><p>The most popular ways to display changes are either side-by-side, or a consolidating view that highlights data inserts, and deletes. In either side-by-side viewing, <a href="Code_folding" title="Code folding">code folding</a> or <a href="Folding_editor" class="mw-redirect" title="Folding editor">text folding</a>, for the sake of efficiency, the interface may hide portions of the file that did not change and show only the changes.
</p>
<div class="mw-heading mw-heading2"><h2 id="Reasoning">Reasoning</h2></div>
<p>There are various reasons to use comparison tools, and tools themselves use different approaches. To compare binary files, a tool may use byte-level comparison. Comparing <a href="Text_file" title="Text file">text files</a> or <a href="Computer_program" title="Computer program">computer programs</a>, many tools use a side-by-side visual comparison.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> This gives the user the chance to choose which changes to keep or reject before merging the files into a new version.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> Or perhaps to keep them both as-is for later reference, through some form of "versioning" control.
</p><p>File comparison is an important, and integral process of <a href="File_synchronization" title="File synchronization">file synchronization</a> and <a href="Backup" title="Backup">backup</a>. In backup methodologies, the issue of <a href="Data_corruption" title="Data corruption">data corruption</a> is important. Rarely is there a warning before corruption occurs, this can make recovery difficult or impossible. Often, the problem is only apparent the next time someone tries to open a file. In this circumstance, a comparison tool can help to isolate the introduction of the problem.<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Historical_uses">Historical uses</h2></div>
<p>Prior to file comparison, machines existed to compare magnetic tapes or punch cards. The <a href="IBM_519" title="IBM 519">IBM 519 Card Reproducer</a> could determine whether a deck of <a href="Punched_card" title="Punched card">punched cards</a> were equivalent. In 1957, John Van Gardner developed a system to compare the <a href="Check_sum" class="mw-redirect" title="Check sum">check sums</a> of loaded sections of <a href="Fortran" title="Fortran">Fortran</a> programs to <a href="Debugging" title="Debugging">debug</a> compilation problems on the <a href="IBM_704" title="IBM 704">IBM 704</a>.<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Comparison_of_file_comparison_tools" title="Comparison of file comparison tools">Comparison of file comparison tools</a></li>
<li><a href="Computer-assisted_reviewing" title="Computer-assisted reviewing">Computer-assisted reviewing</a> – Text-comparison software</li>
<li><a href="Data_differencing" title="Data differencing">Data differencing</a> – Method for compressing changes over time</li>
<li><a href="Delta_encoding" title="Delta encoding">Delta encoding</a> – Type of data transmission method</li>
<li><a href="Document_comparison" title="Document comparison">Document comparison</a> – Computer document process</li>
<li><a href="Edit_distance" title="Edit distance">Edit distance</a> – Computer science metric of string similarity</li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://catb.org/jargon/html/D/diff.html">"diff", The Jargon File</a></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFHeckel1978" class="citation cs2">Heckel, Paul (1978), <a rel="nofollow" class="external text" href="https://documents.scribd.com/docs/10ro9oowpo1h81pgh1as.pdf">"A Technique for Isolating Differences Between Files"</a> <span class="cs1-format">(PDF)</span>, <i>Communications of the ACM</i>, <b>21</b> (4): <span class="nowrap">264–</span>268, <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F359460.359467">10.1145/359460.359467</a>, <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:207683976">207683976</a><span class="reference-accessdate">, retrieved <span class="nowrap">2011-12-04</span></span></cite></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><cite id="CITEREFViégasWattenbergKushal2004" class="citation cs2">Viégas, Fernanda B.; Wattenberg, Martin; Kushal, Kushal Dave (2004), <a rel="nofollow" class="external text" href="http://domino.watson.ibm.com/cambridge/research.nsf/58bac2a2a6b05a1285256b30005b3953/53240210b04ea0eb85256f7300567f7e/$FILE/TR2004-19.pdf"><i>Studying Cooperation and Conflict between Authors with history flow Visualizations</i></a> <span class="cs1-format">(PDF)</span>, vol. 6, Vienna: CHI, pp. <span class="nowrap">575–</span>582<span class="reference-accessdate">, retrieved <span class="nowrap">2011-12-01</span></span></cite></span>
</li>
<li id="cite_note-PatentUS7031972B2-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-PatentUS7031972B2_4-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFLiwei_RenJinsheng_GuLuosheng_Peng2006" class="citation web cs1">Liwei Ren; Jinsheng Gu; Luosheng Peng (18 April 2006). <a rel="nofollow" class="external text" href="https://patents.google.com/patent/US7031972">"Algorithms for block-level code alignment of software binary files"</a>. <i>Google Patents</i>. USPTO<span class="reference-accessdate">. Retrieved <span class="nowrap">10 May</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><cite id="CITEREFMacKenzieEggertStallman2003" class="citation book cs1">MacKenzie, David; Eggert, Paul; Stallman, Richard (2003). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=oIINAAAACAAJ"><i>Comparing and Merging Files with Gnu Diff and Patch</i></a>. Network Theory. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-0-9541617-5-0</bdi>.</cite></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.gnu.org/software/vc-dwim/vc-dwim.html">"File comparison software: vc-dwim and vc-chlog"</a>. <i>www.gnu.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2023-04-16</span></span>.</cite></span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.system-rescue.org/">"SystemRescue - System Rescue Homepage"</a>. <i>www.system-rescue.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2023-04-16</span></span>.</cite></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><cite id="CITEREFJohn_Van_Gardner" class="citation web cs1">John Van Gardner. <a rel="nofollow" class="external text" href="http://www.softwarepreservation.org/projects/FORTRAN/paper/John%20Van%20Gardner%20-%20Fortran%20And%20The%20Genesis%20Of%20Project%20Intercept.pdf">"Fortran And The Genesis Of Project Intercept"</a> <span class="cs1-format">(PDF)</span><span class="reference-accessdate">. Retrieved <span class="nowrap">2011-12-06</span></span>.</cite></span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1290876196">
/* start https://en.wikipedia.org/ */
.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:var(--background-color-interactive-subtle,#f8f9fa);display:flow-root}.mw-parser-output .infobox .side-box{font-size:100%}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1;min-width:0}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1237033735">
/* start https://en.wikipedia.org/ */
@media print{body.ns-0 .mw-parser-output .sistersitebox{display:none!important}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-en-v2.svg"]{background-color:white}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-en-v2.svg"]{background-color:white}}
/* end https://en.wikipedia.org/ */
</style><div class="side-box side-box-right sistersitebox"><style data-mw-deduplicate="TemplateStyles:r1126788409">
/* start https://en.wikipedia.org/ */
.mw-parser-output .plainlist ol,.mw-parser-output .plainlist ul{line-height:inherit;list-style:none;margin:0;padding:0}.mw-parser-output .plainlist ol li,.mw-parser-output .plainlist ul li{margin-bottom:0}
/* end https://en.wikipedia.org/ */
</style>
<div class="side-box-flex">
<div class="side-box-image"><span class="noviewer" typeof="mw:File"></span></div>
<div class="side-box-text plainlist">Wikimedia Commons has media related to <span style="font-weight: bold; font-style: italic;"><a href="https://commons.wikimedia.org/wiki/Category:File_comparison" class="extiw external" title="commons:Category:File comparison">File comparison</a></span>.</div></div>
</div>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Computer_files91" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div id="Computer_files91" style="font-size:114%;margin:0 4em"><a href="Computer_file" title="Computer file">Computer files</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Types</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Binary_file" title="Binary file">Binary file</a> / <a href="Text_file" title="Text file">text file</a></li>
<li><a href="Data_file" title="Data file">Data file</a></li>
<li><a href="File_format" title="File format">File format</a>
<ul><li><a href="List_of_file_formats" title="List of file formats">List of file formats</a></li>
<li><a href="List_of_file_signatures" title="List of file signatures">File signatures</a></li>
<li><a href="Magic_number_(programming)" title="Magic number (programming)">Magic number</a></li>
<li><a href="Open_file_format" title="Open file format">Open file formats</a></li>
<li><a href="Proprietary_file_format" title="Proprietary file format">Proprietary file formats</a></li></ul></li>
<li><a href="Metafile" class="mw-redirect" title="Metafile">Metafile</a></li>
<li><a href="Sidecar_file" title="Sidecar file">Sidecar file</a></li>
<li><a href="Sparse_file" title="Sparse file">Sparse file</a></li>
<li><a href="Swap_file" class="mw-redirect" title="Swap file">Swap file</a></li>
<li><a href="System_file" title="System file">System file</a></li>
<li><a href="Temporary_file" title="Temporary file">Temporary file</a></li>
<li><a href="Zero-byte_file" title="Zero-byte file">Zero-byte file</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Properties</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Filename" title="Filename">Filename</a>
<ul><li><a href="8.3_filename" title="8.3 filename">8.3 filename</a></li>
<li><a href="Long_filename" title="Long filename">Long filename</a></li>
<li><a href="Filename_mangling" title="Filename mangling">Filename mangling</a></li></ul></li>
<li><a href="Filename_extension" title="Filename extension">Filename extension</a>
<ul><li><a href="List_of_filename_extensions" title="List of filename extensions">List of filename extensions</a></li></ul></li>
<li><a href="File_attribute" title="File attribute">File attribute</a>
<ul><li><a href="Extended_file_attributes" title="Extended file attributes">Extended file attributes</a></li></ul></li>
<li><a href="File_size" title="File size">File size</a></li>
<li><a href="Hidden_file_and_hidden_directory" title="Hidden file and hidden directory">Hidden file / Hidden directory</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Organisation</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Directory_(computing)" title="Directory (computing)">Directory/folder</a>
<ul><li><a href="NTFS_links" title="NTFS links">NTFS links</a></li>
<li><a href="Temporary_folder" title="Temporary folder">Temporary folder</a></li></ul></li>
<li><a href="Directory_structure" title="Directory structure">Directory structure</a></li>
<li><a href="File_system" title="File system">File system</a>
<ul><li><a href="Filesystem_Hierarchy_Standard" title="Filesystem Hierarchy Standard">Filesystem Hierarchy Standard</a></li>
<li><a href="Grid_file_system" title="Grid file system">Grid file system</a></li>
<li><a href="Semantic_file_system" title="Semantic file system">Semantic file system</a></li></ul></li>
<li><a href="Path_(computing)" title="Path (computing)">Path</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="File_operation" class="mw-redirect" title="File operation">Operations</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Open_(system_call)" title="Open (system call)">Open</a></li>
<li><a href="Close_(system_call)" title="Close (system call)">Close</a></li>
<li><a href="Read_(system_call)" title="Read (system call)">Read</a></li>
<li><a href="Write_(system_call)" title="Write (system call)">Write</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Linking</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="File_descriptor" title="File descriptor">File descriptor</a></li>
<li><a href="Hard_link" title="Hard link">Hard link</a></li>
<li><a href="Shortcut_(computing)" title="Shortcut (computing)">Shortcut</a>
<ul><li><a href="Alias_(Mac_OS)" title="Alias (Mac OS)">Alias</a></li>
<li><a href="Shadow_(OS/2)" title="Shadow (OS/2)">Shadow</a></li></ul></li>
<li><a href="Symbolic_link" title="Symbolic link">Symbolic link</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Management</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Backup" title="Backup">Backup</a></li>
<li><a href="File_copying" title="File copying">File copying</a></li>
<li><a href="Data_compression" title="Data compression">Data compression</a></li>
<li><a href="File_manager" title="File manager">File manager</a>
<ul><li><a href="Comparison_of_file_managers" title="Comparison of file managers">Comparison of file managers</a></li></ul></li>
<li><a href="File_system_fragmentation" title="File system fragmentation">File system fragmentation</a></li>
<li><a href="File-system_permissions" title="File-system permissions">File-system permissions</a></li>
<li><a href="File_transfer" title="File transfer">File transfer</a>
<ul><li><a href="File_sharing" title="File sharing">File sharing</a></li>
<li><a href="File_synchronization" title="File synchronization">File synchronization</a></li></ul></li>
<li><a href="File_verification" title="File verification">File verification</a></li></ul>
</div></td></tr></tbody></table></div>
<div class="navbox-styles"></div><div role="navigation" class="navbox" aria-labelledby="Version_control_software443" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="3"><div id="Version_control_software443" style="font-size:114%;margin:0 4em"><a href="Version_control" title="Version control">Version control software</a></div></th></tr><tr><td class="navbox-abovebelow" colspan="3"><div>Years, where available, indicate the date of first stable release. Systems with names <i>in italics</i> are no longer maintained or have planned end-of-life dates.</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Local only</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Free_and_open-source_software" title="Free and open-source software">Free/open-source</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Revision_Control_System" title="Revision Control System">RCS</a> (1982)</li>
<li><a href="Source_Code_Control_System" title="Source Code Control System">SCCS</a> (1973)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Proprietary_software" title="Proprietary software">Proprietary</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="The_Librarian_(version_control_system)" title="The Librarian (version control system)">The Librarian</a> (1969)</li>
<li><a href="Panvalet" title="Panvalet">Panvalet</a> (1970s)</li>
<li><a href="PVCS" title="PVCS">PVCS</a> (1985)</li>
<li><i><a href="QVCS" title="QVCS">QVCS</a></i> (1991)</li></ul>
</div></td></tr></tbody></table><div></div></td><td class="noviewer navbox-image" rowspan="4" style="width:1px;padding:0 0 0 2px"><div><span typeof="mw:File"></span></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Client–server</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Free/open-source</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Concurrent_Versions_System" title="Concurrent Versions System">CVS</a> (1986, 1990 in C)</li>
<li><a href="CVSNT" title="CVSNT">CVSNT</a> (1998)</li>
<li><a href="QVCS" title="QVCS">QVCS Enterprise</a> (1998)</li>
<li><a href="Apache_Subversion" title="Apache Subversion">Subversion</a> (2000)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Proprietary</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="AccuRev_SCM" title="AccuRev SCM">AccuRev SCM</a> (2002)</li>
<li>Azure DevOps
<ul><li><a href="Azure_DevOps_Server" title="Azure DevOps Server">Server</a> (via <a href="Azure_DevOps_Server#TFVC" title="Azure DevOps Server">TFVC</a>) (2005)</li>
<li><a href="Microsoft_Visual_Studio" class="mw-redirect" title="Microsoft Visual Studio">Services</a> (via <a href="Azure_DevOps_Server#TFVC" title="Azure DevOps Server">TFVC</a>) (2014)</li></ul></li>
<li><a href="Rational_ClearCase" class="mw-redirect" title="Rational ClearCase">ClearCase</a> (1992)</li>
<li><i><a href="IBM_Configuration_Management_Version_Control_(CMVC)" class="mw-redirect" title="IBM Configuration Management Version Control (CMVC)">CMVC</a></i> (1994)</li>
<li><a href="Dimensions_CM" title="Dimensions CM">Dimensions CM</a> (1980s)</li>
<li><i><a href="Apollo_Computer#History" title="Apollo Computer">DSEE</a></i> (1984)</li>
<li><a href="PTC_Integrity" title="PTC Integrity">Integrity</a> (2001)</li>
<li><a href="Perforce_Helix" class="mw-redirect" title="Perforce Helix">Perforce Helix</a> (1995)</li>
<li><a href="IBM_Software_Configuration_and_Library_Manager" title="IBM Software Configuration and Library Manager">SCLM</a> (1980s?)</li>
<li><a href="CA_Harvest_Software_Change_Manager" title="CA Harvest Software Change Manager">Software Change Manager</a> (1970s)</li>
<li><a href="StarTeam" title="StarTeam">StarTeam</a> (1995)</li>
<li><a href="Surround_SCM" title="Surround SCM">Surround SCM</a> (2002)</li>
<li><a href="Rational_Synergy" title="Rational Synergy">Synergy</a> (1990)</li>
<li><a href="Rational_Team_Concert" class="mw-redirect" title="Rational Team Concert">Team Concert</a> (2008)</li>
<li><a href="Vault_(version_control_system)" title="Vault (version control system)">Vault</a> (2003)</li>
<li><i><a href="Microsoft_Visual_SourceSafe" title="Microsoft Visual SourceSafe">Visual SourceSafe</a></i> (1994)</li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Distributed_version_control" title="Distributed version control">Distributed</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Free/open-source</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><i><a href="BitKeeper" title="BitKeeper">BitKeeper</a></i> (2000)</li>
<li><a href="Breezy_(software)" title="Breezy (software)">Breezy</a> (2017)</li>
<li><i><a href="Code_Co-op" title="Code Co-op">Code Co-op</a></i> (1997)</li>
<li><a href="Darcs" title="Darcs">Darcs</a> (2002)</li>
<li><i><a href="Distributed_Concurrent_Versions_System" title="Distributed Concurrent Versions System">DCVS</a></i> (2002)</li>
<li><a href="Fossil_(software)" title="Fossil (software)">Fossil</a> (2007)</li>
<li><a href="Git" title="Git">Git</a> (2005)</li>
<li><i><a href="GNU_arch" title="GNU arch">GNU arch</a></i> (2001)</li>
<li><a href="GNU_Bazaar" title="GNU Bazaar">GNU Bazaar</a> (2005)</li>
<li><a href="Mercurial" title="Mercurial">Mercurial</a> (2005)</li>
<li><a href="Monotone_(software)" title="Monotone (software)">Monotone</a> (2003)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Proprietary</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li>Azure DevOps
<ul><li><a href="Azure_DevOps_Server" title="Azure DevOps Server">Server</a> (via Git) (2013)</li>
<li><a href="Microsoft_Visual_Studio" class="mw-redirect" title="Microsoft Visual Studio">Services</a> (via Git) (2014)</li></ul></li>
<li><i><a href="Sun_WorkShop_TeamWare" title="Sun WorkShop TeamWare">TeamWare</a></i> (1992)</li>
<li><a href="Plastic_SCM" class="mw-redirect" title="Plastic SCM">Plastic SCM</a> (2006)</li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Concepts</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Baseline_(configuration_management)" title="Baseline (configuration management)">Baseline</a></li>
<li><a href="Branching_(version_control)" title="Branching (version control)">Branch</a>
<ul><li><a href="Branching_(version_control)#Development_branch" title="Branching (version control)">Trunk</a></li></ul></li>
<li><a href="Changeset" title="Changeset">Changeset</a></li>
<li><a href="Commit_(version_control)" title="Commit (version control)">Commit</a>
<ul><li><a href="Gated_commit" title="Gated commit">Gated</a></li></ul></li>
<li><a href="Delta_encoding" title="Delta encoding">Delta compression</a>
<ul><li><a href="Interleaved_deltas" title="Interleaved deltas">Interleaved</a></li></ul></li>
<li><a href="Fork_(software_development)" title="Fork (software development)">Fork</a></li>
<li><a href="Merge_(version_control)" title="Merge (version control)">Merge</a></li>
<li><a href="Monorepo" title="Monorepo">Monorepo</a></li>
<li><a href="Repository_(version_control)" title="Repository (version control)">Repository</a></li>
<li><a href="Revision_tag" title="Revision tag">Tag</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="3"><div>
<ul><li><b>Category</b></li>
<li><b><a href="Comparison_of_version-control_software" title="Comparison of version-control software">Comparison</a></b></li>
<li><b><a href="List_of_version-control_software" title="List of version-control software">List</a></b></li></ul>
</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2024-10-19" href="https://en.wikipedia.org/wiki/?title=File_comparison&oldid=1251983402">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>